/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package domain;

import java.io.Serializable;
import java.util.Date;
import javax.persistence.Basic;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.NamedQueries;
import javax.persistence.NamedQuery;
import javax.persistence.Table;
import javax.persistence.TableGenerator;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;

/**
 *
 * @author guerrero
 */
@Entity
@Table(name = "ativo")
@NamedQueries({
    @NamedQuery(name = "Ativo.findByIdativo", query = "SELECT a FROM Ativo a WHERE a.idativo = :idativo"),
    @NamedQuery(name = "Ativo.findByCodigo", query = "SELECT a FROM Ativo a WHERE a.codigo = :codigo")})
public class Ativo implements Serializable {

    private static final long serialVersionUID = 1L;
    @Id
    @TableGenerator(initialValue = 1, allocationSize = 1000, name = "seq_ativo", table = "tb_sequences", valueColumnName = "seq_count", pkColumnName = "seq_name")
    @GeneratedValue(strategy = GenerationType.TABLE, generator = "seq_ativo")
    @Column(name = "idativo", nullable = false)
    private Long idativo;
    @Basic(optional = false)
    @Column(name = "codigo", nullable = false, length = 10)
    private String codigo;
    @Basic(optional = false)
    @Column(name = "abertura", nullable = false)
    private float abertura;
    @Basic(optional = false)
    @Column(name = "alta", nullable = false)
    private float alta;
    @Basic(optional = false)
    @Column(name = "baixa", nullable = false)
    private float baixa;
    @Basic(optional = false)
    @Column(name = "fechamento", nullable = false)
    private float fechamento;
    @Basic(optional = false)
    @Column(name = "ajustado", nullable = false)
    private float ajustado;
    @Basic(optional = false)
    @Column(name = "volume", nullable = false)
    private long volume;
    @Basic(optional = false)
    @Column(name = "data", nullable = false)
    @Temporal(TemporalType.DATE)
    private Date data;
    @Column(name = "mmex20")
    private float mmex20;
    @Column(name = "mmex50")
    private float mmex50;
    @Column(name = "mmex200")
    private float mmex200;

    public Ativo() {
    }

    public Ativo(Long idativo) {
        this.idativo = idativo;
    }

    public Ativo(String codigo, Date data, float abertura, float alta, float baixa, float fechamento, float ajustado, long volume) {
        this.codigo = codigo;
        this.data = data;
        this.abertura = abertura;
        this.alta = alta;
        this.baixa = baixa;
        this.fechamento = fechamento;
        this.ajustado = ajustado;
        this.volume = volume;
    }

    public Long getIdativo() {
        return idativo;
    }

    public void setIdativo(Long idativo) {
        this.idativo = idativo;
    }

    public String getCodigo() {
        return codigo;
    }

    public void setCodigo(String codigo) {
        this.codigo = codigo;
    }

    public float getAbertura() {
        return abertura;
    }

    public void setAbertura(float abertura) {
        this.abertura = abertura;
    }

    public float getAlta() {
        return alta;
    }

    public void setAlta(float alta) {
        this.alta = alta;
    }

    public float getBaixa() {
        return baixa;
    }

    public void setBaixa(float baixa) {
        this.baixa = baixa;
    }

    public float getFechamento() {
        return fechamento;
    }

    public void setFechamento(float fechamento) {
        this.fechamento = fechamento;
    }

    public float getAjustado() {
        return ajustado;
    }

    public void setAjustado(float ajustado) {
        this.ajustado = ajustado;
    }

    public long getVolume() {
        return volume;
    }

    public void setVolume(long volume) {
        this.volume = volume;
    }

    @Override
    public int hashCode() {
        int hash = 0;
        hash += (idativo != null ? idativo.hashCode() : 0);
        return hash;
    }

    @Override
    public boolean equals(Object object) {
        // TODO: Warning - this method won't work in the case the id fields are not set
        if (!(object instanceof Ativo)) {
            return false;
        }
        Ativo other = (Ativo) object;
        if ((this.idativo == null && other.idativo != null) || (this.idativo != null && !this.idativo.equals(other.idativo))) {
            return false;
        }
        return true;
    }

    @Override
    public String toString() {
        return "domain.Ativo[idativo=" + idativo + "]";
    }

    public Date getData() {
        return data;
    }

    public void setData(Date data) {
        this.data = data;
    }

    public float getMmex20() {
        return mmex20;
    }

    public void setMmex20(float mmex20) {
        this.mmex20 = mmex20;
    }

    public float getMmex50() {
        return mmex50;
    }

    public void setMmex50(float mmex50) {
        this.mmex50 = mmex50;
    }

    public float getMmex200() {
        return mmex200;
    }

    public void setMmex200(float mmex200) {
        this.mmex200 = mmex200;
    }
}
